'use strict';
const dayjs = require("dayjs");
module.exports = app => {
  const { STRING, INTEGER, DATE, TEXT } = app.Sequelize;
  const User = app.model.define(
      'user',
      {
          id: {type: INTEGER, primaryKey: true, autoIncrement: true},
          nickname: TEXT, // 姓名
          phone: TEXT, // 手机号
          email: TEXT, // 邮箱
          password: STRING(255), // 密码
          avatar_url: TEXT,
          wx_openid: STRING(255), // 微信id
          whatsapp_id: STRING(255), //
          line_id: STRING(255),
          status: INTEGER(11),
          role: INTEGER(11), // 1 普通用户 2 代理商
          // 公司名称
          company_name: TEXT,
          // 地址
          address: TEXT,
          abn: TEXT,
          share_url: TEXT,
          audit_status: INTEGER(11), // 审核状态 0 未审核 1 审核通过 2 审核不通过
          create_time: {
              type: DATE,
              get() {
                  return dayjs(this.getDataValue('create_time')).format('YYYY-MM-DD HH:mm:ss');
              }
          },
      },
      {
          tableName: 'user',
          timestamps: true, // 启用时间戳(createdAt, updatedAt)
          updatedAt: 'updated_time', // 不想要 updatedAt
          createdAt: 'create_time', // 想要  createdAt 但是希望名称叫做 created_at
      }
  );
    return User
};
